//进行axios二次封装：使用请求与响应拦截器
import axios from "axios";

// 判断是否为开发环境
const isDev = (import.meta as any).env?.DEV || process.env.NODE_ENV === 'development';

//第一步利用axios的create方法，创建axios的实例
let request = axios.create({
    // 使用相对路径，让所有请求通过Vite代理
    baseURL: "http://1539456b.r30.cpolar.top",
    timeout: 5000//超时时间的设置
});

//第二步：request实例添加请求和响应拦截器
request.interceptors.request.use((config) => {
    //将来会给请求头设置token
    const token = localStorage.getItem("token");
    // console.log("token", token);
    if (token) {
        //config.headers['Authorization'] = `Bearer ${token}`;
        config.headers['Authorization'] = token;
    }

    return config;
})

//第三步：request实例添加响应拦截器
request.interceptors.response.use((response) => {
    // 开发环境下的调试信息
    // console.log('响应数据:', response);
    return response.data;
}, (error) => {
    // 开发环境下的错误信息
    console.error('请求错误:', error);
    console.error('错误配置:', error.config);
    console.error('错误响应:', error.response);
    return Promise.reject(error);
});

export default request